package com.ruoyi.mstore.domain;

import java.math.BigDecimal;
import java.util.List;

import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 门店对象 store
 * 
 * @author mengdi
 * @date 2025-03-17
 */
@Data
public class Store extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 门店ID */
    private Long storeId;

    /** 店名 */
    @Excel(name = "店名")
    private String storeName;

    /** 工商营业执照号 */
    @Excel(name = "工商营业执照号")
    private String businessLicenseNo;

    /** 经营区域 */
    @Excel(name = "经营区域")
    private String businessArea;

    /** 详细地址 */
    @Excel(name = "详细地址")
    private String address;

    /** 营业执照照片 */
    @Excel(name = "营业执照照片")
    private String businessLicenseImage;

    /** 商户店面照片 */
    @Excel(name = "商户店面照片")
    private String storeImage;

    /** 商家介绍 */
    @Excel(name = "商家介绍")
    private String description;

    /** 审核状态（商家状态字典表） */
    @Excel(name = "审核状态", readConverterExp = "商=家状态字典表")
    private Long auditStatus;

    /** 营业时间 */
    @Excel(name = "营业时间")
    private String businessHours;

    /** 下单量 */
    @Excel(name = "下单量")
    private Long orderCount;

    /** 门店余额 */
    @Excel(name = "门店余额")
    private BigDecimal balance;

    /** 经度 */
    @Excel(name = "经度")
    private BigDecimal longitude;

    /** 纬度 */
    @Excel(name = "纬度")
    private BigDecimal latitude;

    /** 用户ID */
    @Excel(name = "用户ID")
    private Long userId;

    /** 商户ID */
    @Excel(name = "商户ID")
    private Long merchantId;

    /** 商户表电话号 */
    @Excel(name = "商户表电话号")
    private String ext1;

    /** 扩展字段2 */
    @Excel(name = "扩展字段2")
    private String ext2;

    /** 扩展字段3 */
    @Excel(name = "扩展字段3")
    private String ext3;

    /** 扩展字段4 */
    @Excel(name = "扩展字段4")
    private String ext4;

    /** 扩展字段5 */
    @Excel(name = "扩展字段5")
    private String ext5;

    private Merchant merchant; // 商户对象

    private SysUser sysUser; // 用户对象

    List<Order> orderList; // 订单对象

    List<MaintenanceRecord> maintenanceRecordList; // 维修记录对象



    public void setStoreId(Long storeId) 
    {
        this.storeId = storeId;
    }

    public Long getStoreId() 
    {
        return storeId;
    }

    public void setStoreName(String storeName) 
    {
        this.storeName = storeName;
    }

    public String getStoreName() 
    {
        return storeName;
    }

    public void setBusinessLicenseNo(String businessLicenseNo) 
    {
        this.businessLicenseNo = businessLicenseNo;
    }

    public String getBusinessLicenseNo() 
    {
        return businessLicenseNo;
    }

    public void setBusinessArea(String businessArea) 
    {
        this.businessArea = businessArea;
    }

    public String getBusinessArea() 
    {
        return businessArea;
    }

    public void setAddress(String address) 
    {
        this.address = address;
    }

    public String getAddress() 
    {
        return address;
    }

    public void setBusinessLicenseImage(String businessLicenseImage) 
    {
        this.businessLicenseImage = businessLicenseImage;
    }

    public String getBusinessLicenseImage() 
    {
        return businessLicenseImage;
    }

    public void setStoreImage(String storeImage) 
    {
        this.storeImage = storeImage;
    }

    public String getStoreImage() 
    {
        return storeImage;
    }

    public void setDescription(String description) 
    {
        this.description = description;
    }

    public String getDescription() 
    {
        return description;
    }

    public void setAuditStatus(Long auditStatus) 
    {
        this.auditStatus = auditStatus;
    }

    public Long getAuditStatus() 
    {
        return auditStatus;
    }

    public void setBusinessHours(String businessHours) 
    {
        this.businessHours = businessHours;
    }

    public String getBusinessHours() 
    {
        return businessHours;
    }

    public void setOrderCount(Long orderCount) 
    {
        this.orderCount = orderCount;
    }

    public Long getOrderCount() 
    {
        return orderCount;
    }

    public void setBalance(BigDecimal balance) 
    {
        this.balance = balance;
    }

    public BigDecimal getBalance() 
    {
        return balance;
    }

    public void setLongitude(BigDecimal longitude) 
    {
        this.longitude = longitude;
    }

    public BigDecimal getLongitude() 
    {
        return longitude;
    }

    public void setLatitude(BigDecimal latitude) 
    {
        this.latitude = latitude;
    }

    public BigDecimal getLatitude() 
    {
        return latitude;
    }

    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }

    public void setMerchantId(Long merchantId) 
    {
        this.merchantId = merchantId;
    }

    public Long getMerchantId() 
    {
        return merchantId;
    }

    public void setExt1(String ext1) 
    {
        this.ext1 = ext1;
    }

    public String getExt1() 
    {
        return ext1;
    }

    public void setExt2(String ext2) 
    {
        this.ext2 = ext2;
    }

    public String getExt2() 
    {
        return ext2;
    }

    public void setExt3(String ext3) 
    {
        this.ext3 = ext3;
    }

    public String getExt3() 
    {
        return ext3;
    }

    public void setExt4(String ext4) 
    {
        this.ext4 = ext4;
    }

    public String getExt4() 
    {
        return ext4;
    }

    public void setExt5(String ext5) 
    {
        this.ext5 = ext5;
    }

    public String getExt5() 
    {
        return ext5;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("storeId", getStoreId())
            .append("storeName", getStoreName())
            .append("businessLicenseNo", getBusinessLicenseNo())
            .append("businessArea", getBusinessArea())
            .append("address", getAddress())
            .append("businessLicenseImage", getBusinessLicenseImage())
            .append("storeImage", getStoreImage())
            .append("description", getDescription())
            .append("auditStatus", getAuditStatus())
            .append("businessHours", getBusinessHours())
            .append("orderCount", getOrderCount())
            .append("balance", getBalance())
            .append("longitude", getLongitude())
            .append("latitude", getLatitude())
            .append("userId", getUserId())
            .append("merchantId", getMerchantId())
            .append("ext1", getExt1())
            .append("ext2", getExt2())
            .append("ext3", getExt3())
            .append("ext4", getExt4())
            .append("ext5", getExt5())
            .toString();
    }
}
